package jm.nj.demo05mian.demo03;

import java.util.concurrent.ExecutionException;

/*
*方法中已经出现返回语句返回值A,
* 再在finlly中修改前A的值
* 但在该方法中A的值已经被修改了
*
* return:结束方法,有返回值,把返回到的方法的调用处
* finally的作用:一定会执行的代码
* */
public class Demo04Exception {
    public static void main(String[] args) {
        int i = show();
        System.out.println(i);              //3
    }

    private static int show() {
        int A = 10;
        try{
            return A;//JVM碰见return会把当前的值保存,finally中怎么改变已经保存的值没有影响

        }catch (Exception e){
            return A;
        }finally {
            ++A;//A=11 A:的只在finlly中有效
            System.out.println(A);                                          //    1
            System.out.println("必须执行的语句");              //2
        }
    }
}
